Entertainment apparatus, object display device, object display method, recording medium and character display method

ABSTRACT

An entertainment system  10  has: a depth computing module  210  which computes a viewpoint distance from viewpoint coordinate to an object; a scaling computing module  208  which computes scaling for a unique size of the object based on the viewpoint distance; a model transforming module  206  which multiples the unique size of the object by the scaling, computes the size of the object, and arranges the object in the computed size; a view transforming module  214  which transforms the arranged object to a viewpoint coordinate system; a perspective transformation module  216  which perspective transforms the transformed object to a screen coordinate system relative to an origin point of the viewpoint coordinate system; and an image output module  218  which displays a part of the screen coordinate system where the object has been perspective transformed on a display  12 , the system can properly display an object separated from the viewpoint coordinate by a predetermined distance.

BACKGROUND OF THE INVENTION

The present invention relates to object display technology inthree-dimensional images.

Conventionally, a technique is known that an object arranged in a worldcoordinate system is perspective transformed to a screen coordinatesystem. In the conventional technique, the object arranged in the worldcoordinate system is transformed to a viewpoint coordinate system inwhich the coordinates of a viewpoint in the world coordinate system arean origin point and the direction of a line of sight is a z-axis. Then,the object transformed to the viewpoint coordinate system is projectedonto the screen coordinate system which is a plane vertical to thez-axis in the viewpoint coordinate system relative to the origin pointof the viewpoint coordinate system.

In the conventional technique, each object has multiple vertexcoordinates defined in a unique local coordinate system that is definedby three-dimensional coordinates. The origin point of a local coordinatesystem corresponding to each object is arranged at the coordinates inthe world coordinate system where each object is to be arranged, andthus each of the vertex coordinates defined in the local coordinatesystem of each object is associated with the coordinates in the worldcoordinate system. Therefore, each object is arranged in the worldcoordinate system.

Subsequently, each of the vertex coordinates of each object in the worldcoordinate system is individually transformed to the viewpointcoordinate system, and then each object is transformed from the worldcoordinate system to the viewpoint coordinate system. Furthermore, eachof the vertex coordinates of each object in the viewpoint coordinatesystem is projected onto the screen coordinate system relative to theorigin point of the viewpoint coordinate system, and thus each object inthe viewpoint coordinate system is perspective transformed to the screencoordinate system.

In this manner, each object in the viewpoint coordinate system isperspective transformed to the screen coordinate system relative to theorigin point of the viewpoint coordinate system. Therefore, an object ata long distance from the viewpoint coordinate is projected onto thescreen coordinate system small, whereas an object at a short distancefrom the viewpoint coordinate is projected onto the screen coordinatesystem large. Accordingly, how each object in the world coordinatesystem is seen from the viewpoint coordinate in the world coordinatesystem can be truly reproducted so as to match with the real world.

SUMMARY OF THE INVENTION

However, when an object positioned at the coordinates apart to someextent from the viewpoint coordinate in the world coordinate system isshown in the screen coordinate system, an object projected onto thescreen coordinate system is displayed small. In this case, suppose apart of the screen coordinate system is shown on a display and the like,a person who sees the object shown on the display sometimes hasdifficulty to know what the object is. Furthermore, when there aremultiple objects, it is sometimes difficult to tell the individualobjects from each other. Particularly, in a game machine that operates agame to aim and shoot a distant target, it is difficult for a user ofthe game machine to tell a target apart to some extent from theviewpoint coordinate for limitation on game flexibility.

Moreover, even in the case where it is difficult to tell an object shownon a display because the object is too small after perspectivetransformed, each of the vertex coordinates of each object in theviewpoint coordinate system is perspective transformed to the screencoordinate system in a game machine and the like. Therefore, whenmultiple objects are shown, load of the game machine is sometimesincreased.

Then, an object of the invention is to provide an entertainmentapparatus, an object display device, an object display method, arecording medium, and a character display method which can solve theproblems. For example, the size of an object to be arranged in a worldcoordinate system is varied to show the object on a display in a propersize.

In order to solve the problems, an object display device according tothe invention decides the size of an object to be arranged in a worldcoordinate system in accordance with a distance from the viewpointcoordinate to the object in a world coordinate system, or a distancefrom the viewpoint coordinate to the object in the direction of a lineof sight.

For example, an object display device is provided which transforms anobject that is arranged in a world coordinate system and has a uniquesize defined by three-dimensional coordinates to a viewpoint coordinatesystem where viewpoint coordinate defined by the world coordinate systemare an origin point and a direction of a line of sight from theviewpoint coordinate is a z-axis, perspective transforms the transformedobject to a screen coordinate system being a plane vertical to thez-axis of the viewpoint coordinate system relative to the origin pointof the viewpoint coordinate system, and displays a part of the screencoordinate system where the object has been perspective transformed on adisplay, the object display device including:

a depth computing module which computes a viewpoint distance that is adistance from the viewpoint coordinate to the object, or a distance fromthe viewpoint coordinate to the object in the world coordinate system inthe direction of a line of sight;

a scaling computing module which uses a predetermined rule to computescaling for a unique size of the object based on the viewpoint distancecomputed by the depth computing module;

an object arranging module which multiplies the unique size of theobject by the scaling computed by the scaling computing module tocompute the size of the object and arranges the object in the computedsize in the world coordinate system;

a view transforming module which transforms the object arranged in theworld coordinate system by the object arranging module to the viewpointcoordinate system;

a perspective transformation module which perspective transforms theobject transformed by the view transforming module to a screencoordinate system relative to the origin point of the viewpointcoordinate system; and

a display control module which displays a part of the screen coordinatesystem where the object is perspective transformed by the perspectivetransformation module on the display.

According to the object display device of the invention, perspectivetransformation is conducted after the size of the object is changed inaccordance with the distance from the viewpoint coordinate to theobject, or the distance from the viewpoint coordinate to the object inthe direction of a line of sight. Therefore, when the size of the objectis increased as the distance from the viewpoint coordinate to theobject, or the distance from the viewpoint coordinate to the object inthe direction of a line of sight is increased, how the object is seenfrom the viewpoint coordinate can be controlled regardless of the lawsof perspective. Accordingly, the object display device according to theinvention can increase the expressive power of the object.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating the system configuration of anentertainment system 10 of an embodiment according to the invention.

FIG. 2 is a block diagram illustrating an exemplary functionalconfiguration of an entertainment apparatus 20.

FIG. 3 is a diagram illustrating an exemplary data structure which isstored in a model data storing module 204.

FIG. 4 is a diagram illustrating an exemplary function 30 which is usedby a scaling computing module 208 to determine scaling from a viewpointdistance.

FIG. 5A and FIG. 5B are conceptual diagrams illustrative of an exemplarysize of a character 42 in an area 32 where a viewpoint distance isranged from 0 to N₁.

FIG. 6A and FIG. 6B are conceptual diagrams illustrative of an exemplarysize of the character 42 in an area 34 where a viewpoint distance isranged from N₀ to N₁.

FIG. 7A and FIG. 7B are conceptual diagrams illustrative of an exemplarydisplay image 46 when a viewpoint distance is F₁ or greater.

FIG. 8 is a flow chart illustrating an exemplary operation of theentertainment apparatus 20.

FIG. 9 is a diagram illustrating an exemplary hardware configuration ofthe entertainment apparatus 20.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Hereinafter, one embodiment according to the invention will bedescribed.

FIG. 1 depicts the system configuration of an entertainment system 10 ofan embodiment according to the invention. The entertainment system 10has a display 12, a control device (controller) 14, and an entertainmentapparatus 20. The display 12 displays an image of a game generated bythe entertainment apparatus 20. Furthermore, the display 12 has a soundoutput module which regenerates sounds such as voice, music, and soundeffects accompanying the game generated by the entertainment apparatus20. The control device 14 transforms manipulations by a user to electricsignals, sends them to the entertainment apparatus 20, and thus allowsthe user to control the entertainment apparatus 20.

The entertainment apparatus 20 displays a game image on the display 12in accordance with a program inside as well as regenerates sounds suchas voice, music, and sound effects accompanying the game image by thesound output module in the display 12. The entertainment apparatus 20may have a capability to regenerate sounds such as voice, music, andsound effects recorded in a recording medium such as CD other thangames, and a capability to regenerate moving picture including soundsrecorded in a recording medium such as DVD.

FIG. 2 depicts a block diagram illustrating an exemplary functionalconfiguration of the entertainment apparatus 20. The entertainmentapparatus 20 has a scenario storing module 200, an object control module202, a model data storing module 204, a model transforming module 206, ascaling computing module 208, a depth computing module 210, a viewcomputing module 212, a view transforming module 214, a perspectivetransformation module 216, and an image output module 218. The scenariostoring module 200 stores a game scenario. The model data storing module204 stores and associates model data of each of multiple objects to bedisplayed on a game and information indicating the unique operation ofeach object with an object ID which identifies each object. Here, modeldata of the object is multiple vertex coordinates defined in a localcoordinate system unique to each object.

The object control module 202 accepts a manipulation input from the userthrough the control device 14, and generates the coordinates of theobject that are position information of each object in a worldcoordinate system in accordance with the game scenario stored in thescenario storing module 200. The view computing module 212 accepts themanipulation input of the user from the control device 14, and computesviewpoint coordinate in the world coordinate system and a direction of aline of sight at the viewpoint coordinate in accordance with thecoordinates of each object controlled by the object control module 202based on the scenario stored in the scenario storing module 200.

The depth computing module 210 receives the coordinates of each objectin the world coordinate system from the object control module 202 alongwith the object ID of the corresponding object, and receives theviewpoint coordinate in the world coordinate system and the direction ofa line of sight from the view computing module 212. Then, the depthcomputing module 210 individually computes a viewpoint distance that isa distance from the viewpoint coordinate to the coordinates of eachobject in the direction of a line of sight. Here, the distance in thedirection of a line of sight is a distance between a viewpointcoordinate and the coordinates of a point which a plane including thecoordinates of the object and is vertical to a straight line includingthe direction of a line of sight intersects with a straight lineincluding the direction of a line of sight. Moreover, the coordinates ofthe object are an origin point of a local coordinate system unique tothe object, for example. In addition, as another example, the depthcomputing module 210 may individually compute the distance from theviewpoint coordinate to the coordinates of each object as the viewpointdistance.

The model data storing module 204 in advance stores and associatesinformation that indicates whether to do a computation process for theviewpoint distance by the depth computing module 210 and a scalingcomputation rule that is used when the scaling computing module 208computes scaling for the corresponding object with the object ID. Thedepth computing module 210 receives position information about eachobject along with the object ID from the object control module 202,refers to the model data storing module 204, and individually computesthe viewpoint distance only for the object associated with aninformation to do the computation process for the viewpoint distance.Then, the model data storing module 204 sends the computed viewpointdistance to the scaling computing module 208 along with the object ID ofthe object corresponding to the viewpoint distance.

The scaling computing module 208 individually computes scaling for theunique size that is defined by three-dimensional coordinates based onthe viewpoint distance of each object computed by the depth computingmodule 210 and the scaling computation rule stored in the model datastoring module 204. Then, the scaling computing module 208 sends thecomputed scaling to the model transforming module 206 along with theobject ID of the object corresponding to the scaling.

The model transforming module 206 receives the scaling for each objectcomputed by the scaling computing module 208 along with the object ID ofthe corresponding object. Subsequently, the model transforming module206 refers to the model data storing module 204, and multiplies modeldata of the corresponding object ID by the received scaling to compute anew size of each object. Then, the model transforming module 206arranges the object in the computed new size in the world coordinatesystem based on the coordinates of each object computed by the objectcontrol module 202. Here, when the model transforming module 206receives information indicating two times as scaling for a particularobject, for example, the model transforming module 206 doubles the valueof each of the vertex coordinates at the unique local coordinates storedas model data in the model data storing module 204. In the above case,for simplicity, for example, suppose the model data storing module 204stores (0,0,0), (x₁, y₁, z_(l)), (x₂, y₂, z₂), (x₃, y₃, z₃) as each ofthe vertex coordinates of a particular object, the model transformingmodule 206 arranges an object having each of the vertex coordinates(0,0,0), (2x₁, 2y₁, 2z₁), (2x₂, 2y₂, 2z₂), (2x₃, 2y₃, 2z₃) in the worldcoordinate system.

In addition, for objects other than the object corresponding to theobject ID received from the scaling computing module 208, the modeltransforming module 206 arranges model data stored in the model datastoring module 204 in the world coordinate system as it is. Therefore,since the computation process for the viewpoint distance and scaling forthe object that is unnecessary to change scaling can be bypassed, theprocessing load of the entertainment apparatus 20 can be reduced.Furthermore, as another example, the depth computing module 210 mayindividually compute all the viewpoint distance for the objects thatposition information has been received from the object control module202, and allow the scaling computing module 208 to compute the scalingfor all the objects based on the computed viewpoint distance.

Moreover, in the embodiment, when the model transforming module 206receives zero as the scaling for an object from the scaling computingmodule 208, it does not arrange the corresponding object in the worldcoordinate system. Besides, as another example, when the scaling for theobject received from the scaling computing module 208 is a predeterminedvalue or below, the model transforming module 206 may not arrange thecorresponding object in the world coordinate system.

The view transforming module 214 transforms each object arranged in theworld coordinate system by the model transforming module 206 to aviewpoint coordinate system where the viewpoint coordinate in the worldcoordinate system computed by the view computing module 212 is an originpoint and the direction of a line of sight from the viewpoint coordinateis the z-axis. The perspective transformation module 216 perspectivetransforms each of the vertex coordinates of the object in the viewpointcoordinate system transformed by the view transforming module 214 to ascreen coordinate system that is a plane vertical to the z-axis in theviewpoint coordinate system relative to the origin point of theviewpoint coordinate system. The image output module 218 displays a partof a two-dimensional image perspective transformed to the screencoordinate system on the display 12.

FIG. 3 depicts an exemplary data structure stored in the model datastoring module 204. The model data storing module 204 stores andassociates a computation rule 2042 and vertex coordinates 2044 with anobject ID 2040 which identifies each object. The computation rule 2042stores scaling computation rules applied to the corresponding object bythe scaling computing module 208. In the embodiment, when NULL data isstored as the computation rule 2042, the depth computing module 210 doesnot apply the computation process for the viewpoint distance to thecorresponding object. The vertex coordinates 2044 store model data thatis each of the vertex coordinates predefined in a local coordinatesystem unique to a corresponding character.

By referring to the model data storing module 204, the depth computingmodule 210 can determine whether to compute the viewpoint distance forthe object corresponding to the object ID received along with positioninformation from the object control module 202. Thus, the model datastoring module 204 can inhibit the scaling computing module 208 fromchanging the size of an object having a strong relationship with anobject that is not changed from the size defined by the vertexcoordinates 2044. Therefore, strangeness on display can be reduced, forexample, the size of the object defined by the vertex coordinates 2044is changed in accordance with the viewpoint distance and thus an objectclimbing up a tree is greater than that tree.

FIG. 4 depicts an exemplary function 30 used when the scaling computingmodule 208 determines scaling from the viewpoint distance. The function30 has a property expressed by the following Equation 1, for example.Here, x expresses the viewpoint distance that is the distance from theviewpoint coordinate to the coordinates of an object in a direction of aline of sight, and f(x) expresses the scaling for model data at theviewpoint distance x. S is a constant indicating the maximum value ofthe scaling for model data. N₀, N₁, F₀ and F₁ individually indicate aspecific viewpoint distance, having the relationship 0<N₀<N₁<F₁<F₁.

Equation 1

${f(x)} = \begin{Bmatrix}1 & {\left( {x \leq N_{0}} \right)} \\{1 + \frac{\left( {S - 1} \right)\left( {x - N_{0}} \right)}{N_{1} - N_{0}}} & {\left( {N_{0} < x < N_{1}} \right)} \\S & {\left( {N_{1} \leq x \leq F_{0}} \right)} \\{S \times \frac{F_{1} - x}{F_{1} - F_{0}}} & {\left( {F_{0} < x < F_{1}} \right)} \\0 & {\left( {F_{1} \leq x} \right)}\end{Bmatrix}$

In the function 30, in an area 32 where the viewpoint distance isgreater than zero and equal to or below N₀, the scaling for model dataof the object is one. In an area 34 where the viewpoint distance isgreater than N₀ and equal to or below N₁, the scaling for model data isincreased within the range from one to S in accordance with theviewpoint distance is increased. In an area 36 where the viewpointdistance is greater than N₁ and equal to or below F₀, the scaling formodel data in N, remains as S regardless of the viewpoint distance. Inan area 38 where the viewpoint distance scaling is from F₀ to F₁, thescaling for model data is decreased as the viewpoint distance isincreased from S to zero. In the range where the viewpoint distance isF₁ or greater, the scaling for model data is zero.

In this manner, the scaling computing module 208 increases the scalingfor model data than one as the viewpoint distance is increased in thearea 34 where the viewpoint distance is ranged from N₀ to N₁. Therefore,the model transforming module 206 can display an object in the rangewhere the viewpoint distance is ranged from N₀ to N₁ greater than in thesize displayed in the screen coordinate system by transforming modeldata arranged in the world coordinate system to the viewpoint coordinatesystem and perspective transforming the transformed model data. Here,for example, in a game that aims and shoots a target character runningaway, it is necessary to display the target character apart to someextent from a viewpoint position on the screen so that the character iseasily distinguished from other objects. However, when normalperspective transform is conducted, it is sometimes difficult to see atarget character at a distant position. On the contrary, the inventioncan scale up the size of an object apart to some extent more than modeldata in accordance with the viewpoint distance. Thus, the targetcharacter at a distant position from the viewpoint position can bedisplayed more distinguishably.

Furthermore, the scaling computing module 208 sets the scaling for modeldata to zero regardless of the viewpoint distance in the range where theviewpoint distance is F₁ or greater. Here, in the conventional imagedisplay device, an object is perspective transformed in accordance withthe viewpoint distance, and when the size of the object on the screenafter perspective transformed is equal to or below a predetermined size,a process of not displaying the object on the screen is conducted toprevent the entire image from being difficult to distinguish because theobject that is too small to distinguish is shown on the screen. However,in the image display device like this, when the size of the object afterperspective transformed is below a predetermined size, the perspectivetransformation process done for that object is sometimes wasted, causingan increase in the processing load of the image display device. On theother hand, in the entertainment apparatus 20 shown in the embodiment,the scaling for model data of the object having the viewpoint distanceof F₁ or greater is set to zero, and thus the object can be determinedwhether to be arranged in the world coordinate system before perspectivetransform. Therefore, the object not to be displayed as a result can beprevented from being perspective transformed in vain, and the processingload of the entertainment apparatus 20 can be reduced.

In addition, the scaling computing module 208 reduces the scaling formodel data as the viewpoint distance is increased in the area 38 wherethe viewpoint distance is ranged from F₀ to F₁. Thus, as theconventional image display device described above, in the case where theprocess of not displaying the object on the screen is done when the sizeof the object on the screen after perspective transformed is apredetermined size or below, the entertainment apparatus 20 of theembodiment can reduce the number of the objects to be displayed on thescreen more quickly than the conventional one by reducing the scalingfor model data as the viewpoint distance is increased. Therefore, theentertainment apparatus 20 of the embodiment can reduce the processingload.

Furthermore, in the case where the invention is adapted to a game thataims and shoots a target character at a distance, preferably, the modeltransforming module 206 also changes the size defined by model data aswell as the size of a collision model that is defined by each object andused to determine whether the objects are contacted with each other,when the object corresponding to the target character is varied from thesize defined by model data. Here, the collision model is a space that issurrounded by a polygon having vertex coordinates defined in the localcoordinate system and fewer than the corresponding object. The collisionmodel is configured in the local coordinate system so as to include atleast a part of a space surrounded by multiple vertex coordinates ofmodel data of the object. Contact of objects is determined whethercollision models having a simpler shape than the object are contactedwith each other or overlapped with each other, or the coordinates of arepresentative point predetermined with respect to one object arecontacted with or overlapped with the collision model of the otherobject on the world coordinate system. Therefore, contact or overlap ofthe objects arranged in the world coordinate system can be determinedmore quickly.

For example, the collision model may be stored beforehand in the modeldata storing module 204 as associated with each object ID. In this case,the model transforming module 206 applies the scaling received from thescaling computing module 208 to model data of the object as well as tothe corresponding collision model. In addition, as another example, themodel data storing module 204 may store the computation rule for scalingat every collision model. In this case, the scaling computing module 208may apply to the collision model the scaling computation rule differentfrom the scaling computation rule that is applied to the object.

Moreover, preferably, the position of F₁ in the function 30 is decidedin accordance with the number of the objects shown on the display 12 bythe image output module 218. For example, the object control module 202has a capability to count the number of the objects shown on the display12 at one time, and notifies the scaling computing module 208 of thenumber of the objects counted along with position information about theobject. The scaling computing module 208 brings the position of F₁ closeto the viewpoint position in the function 30 as the number of theobjects is greater based on the number of the objects received from theobject control module 202. Thus, the number of the objects to be shownon the display 12 can be reduced, and the entertainment apparatus 20 canprevent the processing load from increasing. Furthermore, the positionof F₀ in the function 30 may also be decided in accordance with thenumber of the objects to be shown on the display 12 by the image outputmodule 218.

Moreover, in the embodiment, the function 30 in the area 34 and thefunction 30 in the area 38 are expressed by a straight line but it maybe a curve based on a predetermined condition. Besides, the function 30of the embodiment reduces the scaling for the object from S to zero inthe area 38 where the viewpoint distance is ranged from F₀ to F₁. Asanother example, the function 30 may leave the scaling S for the objectat N₁ in the range greater than N₁ regardless of the viewpoint distance.In addition, the function 30 of the embodiment increases the scaling forthe object from one to S in the area 34 where the viewpoint distance isgreater than N₀ and is N₁ or below. As another example, the function 30may reduce the scaling for the object from one to zero in the rangegreater than N₀ and F₃, not shown, and set the scaling for the object tozero in the range where the viewpoint distance is F₃ or greater.

FIG. 5A and FIG. 5B depict conceptual diagrams illustrative of anexemplary size of a character 42 in the area 32 where the viewpointdistance is ranged from zero to N₁. FIG. 5A depicts a house 40 and thecharacter 42 that are objects arranged in the world coordinate system bythe model transforming module 206. FIG. 5B depicts a display image 46shown on the display 12. In the embodiment, suppose the model datastoring module 204 associates NULL data as a scaling computation rulewith the object ID of the object corresponding to the house 40, andassociates a predetermined scaling computation rule with the object IDof the object corresponding to the character 42.

Since the scaling computing module 208 computes the scaling for theobject corresponding to the character 42 as one in the area 32 where theviewpoint distance is ranged from zero to No, the model transformingmodule 206 arranges model data of the objects corresponding to the house40 and the character 42 in the world coordinate system (see FIG. 5A).Then, multiple objects including the house 40 and the character 42arranged in the world coordinate system are transformed to the viewpointcoordinate system by the view transforming module 214, perspectivetransformed to the screen coordinate system by the perspectivetransformation module 216, and displayed on the display 12 as thedisplay image 46 by the image output module 218 (see FIG. 5B).

FIG. 6A and FIG. 6B depict conceptual diagrams illustrative of anexemplary size of the character 42 in the area 34 where the viewpointdistance is ranged from N₀ to N₁. FIG. 6A depicts the house 40 and thecharacter 42 that are objects arranged in the world coordinate system bythe model transforming module 206. FIG. 6B depicts a display image 46shown on the display 12. The scaling computing module 208 increases thescaling for model data of the object corresponding to the character 42ranging from one to S in the area 34 where the viewpoint distance isranged from N₀ to N₁ as the viewpoint distance is increased. Therefore,the model transforming module 206 multiplies model data of the objectcorresponding to the character 42 by the scaling of one or greater tocompute a new size of the object, and arranges the object in the worldcoordinate system (see FIG. 6A). By the process like this, the size ofthe character 42 shown in FIG. 6A is greater than the size of thecharacter 42 shown in FIG. 5A.

Subsequently, multiple objects including the house 40 and the character42 arranged in the world coordinate system are transformed to theviewpoint coordinate system by the view transforming module 214,perspective transformed to the screen coordinate system by theperspective transformation module 216, and shown on the display 12 asthe display image 46 by the image output module 218 (see FIG. 6B). Thus,the entertainment apparatus 20 allows the character 42 positioneddistant from the viewpoint position to be easily distinguished.

FIG. 7A and FIG. 7B depict conceptual diagrams illustrative of anexemplary display image 46 when the viewpoint distance is F₁ or greater.FIG. 7A depicts the house 40 that is an object arranged in the worldcoordinate system by the model transforming module 206. FIG. 7B depictsa display image 46 shown on the display 12. The scaling computing module208 computes the scaling for model data of the object corresponding tothe character 42 as zero in the range where the viewpoint distance is F₁or greater. Thus, the model transforming module 206 does not arrange theobject corresponding to the character 42 in the world coordinate system(see FIG. 7A). Model data of the object corresponding to the house 40 isarranged in the world coordinate system by the model transforming module206 (see FIG. 7A).

Then, multiple objects including the house 40 arranged in the worldcoordinate system are transformed to the viewpoint coordinate system bythe view transforming module 214, perspective transformed to the screencoordinate system by the perspective transformation module 216, andshown on the display 12 as the display image 46 by the image outputmodule 218 (FIG. 7B). Therefore, the entertainment apparatus 20 canprevent perspective transformation of the object corresponding to thecharacter 42 placed at the position distant from the viewpoint positionF₁ or greater, and reduce the processing load.

FIG. 8 depicts a flow chart illustrating an exemplary operation of theentertainment apparatus 20. For example, at a predetermined timing suchas turning on a power source, the entertainment apparatus 20 starts theprocess shown in the flow chart. First, the object control module 202determines whether a manipulation input has been accepted from a player(user) through the control device 14 (S100) When the manipulation inputhas been accepted from the player (S100: Yes), the object control module202 computes the position of the object corresponding to a playercharacter in accordance with the game scenario stored in the scenariostoring module 200 and the manipulation input having been accepted fromthe control device 14 (S104). Then, the object control module 202computes the position of the object corresponding to the other characterin accordance with the game scenario stored in the scenario storingmodule 200 and the position of the object corresponding to the playercharacter (S106). Subsequently, the view computing module 212 computesthe viewpoint coordinate of the player in the world coordinate systemand the direction of a line of sight from the viewpoint coordinate inaccordance with the manipulation input from the control device 14 andthe position of each object computed by the object control module 202(S108).

When no manipulation input is accepted from the player at Step 100(S100: NO), the object control module 202 computes the positions of theobjects corresponding to the player character and the other character inaccordance with the game scenario stored in the scenario storing module200 (S102), and the view computing module 212 conducts the process shownat Step 108.

Then, the depth computing module 210 computes the viewpoint distancefrom the viewpoint coordinate of the player to the coordinates of eachobject in the world coordinate system based on the position of eachobject controlled in accordance with the scenario stored in the scenariostoring module 200, the viewpoint coordinate of the player computed bythe view computing module 212, and the direction of a line of sight ofeach object (S110). Then, the scaling computing module 208 computes thescaling for model data of each object stored in the model data storingmodule 204 based on the function 30 described in FIG. 4 in accordancewith the viewpoint distance of each object computed by the depthcomputing module 210 (S112).

Subsequently, the model transforming module 206 receives the scaling foreach object computed by the scaling computing module 208, refers to themodel data storing module 204, and multiplies model data of thecorresponding object by the received scaling to compute a new size ofeach object. Subsequently, the model transforming module 206 arrangesthe object in the computed new size in the world coordinate system basedon position information of each object computed by the object controlmodule 202 (S114). Then, the view transforming module 214 transformseach object arranged in the world coordinate system by the modeltransforming module 206 to the viewpoint coordinate system where theviewpoint coordinate in the world coordinate system computed by the viewcomputing module 212 are an origin point and the direction of a line ofsight from the viewpoint coordinate is the z-axis (S116). Subsequently,the perspective transformation module 216 perspective transforms each ofthe vertex coordinates of the object in the viewpoint coordinate systemtransformed by the view transforming module 214 to the screen coordinatesystem in the viewpoint coordinate system. Then, the image output module218 displays a part of the two-dimensional image perspective transformedto the screen coordinate system on the display 12 (S118), and the objectcontrol module 202 again conducts the process shown in Step 100.

FIG. 9 depicts a diagram illustrating an exemplary hardwareconfiguration of the entertainment apparatus 20. As shown in thedrawing, the entertainment apparatus 20 has two busses, a main bus B1and a sub-bus B2 which are connected to multiple semiconductor devices,each device having a unique capability. These buses B1 and B2 areconnected to or separated from each other through a bus interface 506.

The main bus B1 is connected to a main CPU 508 which is a mainsemiconductor device, a main memory 504 formed of RAM, a main DMAC(Direct Memory Access Controller) 500, a MPEG (Moving Picture ExpertsGroup) decoder (MDEC) 502, and a graphic processing unit (GPU) 510 whichincorporates therein a frame memory 511 to be graphic memory. The GPU510 is connected to a CRTC (CRT Controller) 512 which generates videosignals for displaying drawn data in the frame memory 511 on the display12. The capability of the image output module 218 is implemented by theCRTC 512, for example.

The main CPU 508 reads a startup program from ROM 520 on the sub-bus B2through the bus interface 506 when the entertainment apparatus 20 startsup, and runs the startup program to operate the operating system.Furthermore, the main CPU 508 controls a medium drive 522 as well asreads an application program and data such as scenario data and modeldata from the recording medium 524 mounted on the medium drive 522, andstores them in the main memory 504. Here, the application program allowsthe entertainment apparatus 20 to function as the scenario storingmodule 200, the object control module 202, the model data storing module204, the model transforming module 206, the scaling computing module208, the depth computing module 210, the view computing module 212, theview transforming module 214, the perspective transformation module 216,and the image output module 218.

Moreover, the main CPU 508 conducts a geometry process (coordinate valueoperation process) that expresses shapes and motions of the object withrespect to three-dimensional object data (the coordinate value ofvertices (representative points) of a polygon) formed of multiple basicpatterns (polygon), for example, the three-dimensional object data isread out of the recording medium 524. Then, the main CPU 508 generates adisplay list that includes polygon definition information by thegeometry process (specifications of the shape and drawing position of apolygon to be used, and the types, color tones, texture and the like ofmaterials forming the polygon). The object control module 202, thescaling computing module 208, the depth computing module 210, and theview computing module 212 are implemented by the main CPU 508, forexample.

The GPU 510 is a semiconductor device that holds graphic context(graphic data including polygon materials) and has a capability to drawa polygon on the frame memory 511 by reading required graphic context inaccordance with the display list notified from the main CPU 508 for arendering process (drawing process). Since the GPU 510 can also use theframe memory 511 as texture memory, it can paste a pixel image on theframe memory 511 as texture on the polygon to be drawn. The modeltransforming module 206, the view transforming module 214, and theperspective transformation module 216 are implemented by the GPU 510,for example.

The main DMAC 500 is a semiconductor device that conducts DMA transfercontrol over each circuit connected to the main bus B1 and conducts DMAtransfer control over each circuit connected to the sub-bus B2 inaccordance with the state of the bus interface 506. The MDEC 502 is asemiconductor device that operates in parallel with the main CPU 508 andhas a capability to expand data compressed by MPEG (Moving PictureExperts Group) mode or JPEG (Joint Photographic Experts Group) mode andthe like.

The sub-bus B2 is connected to a sub-CPU 516 formed of a microprocessorand the like, sub-memory 518 formed of RAM, a sub-DMAC 514, the ROM 520in which a control program such as the operating system is stored, asound processing semiconductor device (SPU (sound processing unit)) 536which reads sound data stored in sound memory 538 and outputs it asaudio output, a communication control module (ATM) 534 which sends andreceives information with external devices through a network, not shown,and the medium drive 522 which mounts the recording medium 524 such asCD-ROM and DVD-ROM.

The recording medium 524 stores programs therein that allow theentertainment apparatus 20 to function as the scenario storing module200, the object control module 202, the model data storing module 204,the model transforming module 206, the scaling computing module 208, thedepth computing module 210, the view computing module 212, the viewtransforming module 214, the perspective transformation module 216, andthe image output module 218. The recording medium 524 may be an opticalrecording medium such as DVD and PD, a magneto-optical recording mediumsuch as MO, a tape medium, a magnetic recording medium, or semiconductorrecording devices, etc. The entertainment apparatus 20 reads andimplements these programs from the recording medium 524. Furthermore,the entertainment apparatus 20 may acquire these programs throughcommunication lines such as the Internet network.

The input module 526 conducts various operations in accordance with thecontrol program stored in the ROM 520. The sub-DMAC 514 is asemiconductor device that controls DMA transfer and the like over eachcircuit connected to the sub-bus B2 only in the state that the businterface 506 separates the main bus B1 from the sub-bus B2. Moreover,the entertainment apparatus 20 has as input mechanisms a connectionterminal 528 to which input signals from the control device 14 enter,and a connection terminal 530 and a connection terminal 532 which areused as multi-purpose connection terminals such as USB.

In addition, each of multiple capability blocks held by theentertainment apparatus 20 may be implemented in hardware by integratedlogic ICs such as ASIC (Application Specific Integrated Circuit), andFPGA (Field Programmable Gate Array), and may be implemented in softwareby DSP (Digital Signal Processor) and a general purpose computer, orfunctional blocks implemented by partially hardware or software may becombined.

As apparent from the description above, the entertainment apparatus 20of the embodiment conducts perspective transformation after the size ofan object is varied in accordance with the distance from the viewpoint.Therefore, when the size of the object is increased as the distance fromthe viewpoint is increased, it can be much easier to distinguish theobject at a distance. Furthermore, the entertainment apparatus 20 of theembodiment decreases the scaling for model data as the viewpointdistance is increased. Thus, in the case where the process of notshowing an object on the screen when the size of that object on an imageafter perspective transformed is a predetermined size or below, theapparatus can decrease the number of the objects to be shown on thescreen more quickly than a conventional apparatus and can reduceprocessing load. Moreover, the entertainment apparatus 20 of theembodiment can determine whether to show an object on the display 12before perspective transformed in accordance with the distance from theviewpoint position. Therefore, it can reduce the probability to doperspective transformation in vain and can reduce the processing loadmore than the conventional configuration in which the size of an objectafter perspective transformed is evaluated to determine whether to showit on the display 12.

In addition, in the embodiment, the size of an object is varied inaccordance with the distance from the viewpoint position. However, asanother example, the entertainment apparatus 20 may vary an amount ofcharacteristics of objects in accordance with the distance from theviewpoint position. For example, the entertainment apparatus 20 mayincrease the height to jump for an object to jump as the object isseparated from the viewpoint position, may increase brightness for anobject to shine as the object is separated from the viewpoint position,and may increase a face of an object corresponding to a character with acharacteristic face as the object is separated from the viewpointposition. In this manner, the entertainment apparatus 20 may increase aso-called degree of deformation. Furthermore, in the case where the sizeof the object corresponding to the character with a characteristic faceis increased as the object is separated from the viewpoint position, forexample, model data having the different face size in every range ofscaling is associated with an object and stored in the model datastoring module 204 beforehand. The model transforming module 206 readsthe corresponding model data from the model data storing module 204 inaccordance with the scaling computed by the scaling computing module208, and multiplies the read model data by the scaling received from thescaling computing module 208. Moreover, as another example, theentertainment apparatus 20 may highlight a particular object byincreasing the transparency of objects around the particular object asseparated from the viewpoint position.

As described above, the invention has been discussed with theembodiment, but the technical scope of the invention is not limited tothe range described in the embodiment. In addition, it is apparent forthose skilled in the art that various modifications and improvements canbe applied to the embodiment. Besides, it is apparent from the claimsthat the modified and improved forms can also be included in thetechnical scope of the invention.

1. An object display device which transforms an object that is arrangedin a world coordinate system and has a unique size defined bythree-dimensional coordinates to a viewpoint coordinate system whereviewpoint coordinates defined by the world coordinate system are anorigin point and a direction of a line of sight from a viewpointcoordinate is a z-axis, perspective transforms the transformed object toa screen coordinate system being a plane perpendicular to the z-axis ofthe viewpoint coordinate system relative to the origin point of theviewpoint coordinate system, and displays a part of the screencoordinate system where the object has been perspective transformed on adisplay, the object display device comprising: a depth computing modulewhich computes a viewpoint distance that is a distance from theviewpoint coordinate to the object, or a distance from the viewpointcoordinate to the object in the direction of a line of sight in theworld coordinate system; a scaling computing module which uses apredetermined rule to compute scaling for the unique size of the objectbased on the viewpoint distance computed by the depth computing module;an object arranging module which multiplies the unique size of theobject by the scaling computed by the scaling computing module tocompute the size of the object and arranges the object in the computedsize in the world coordinate system; a view transforming module whichtransforms the object arranged in the world coordinate system by theobject arranging module to the viewpoint coordinate system; aperspective transformation module which perspective transforms theobject transformed by the view transforming module to a screencoordinate system relative to the origin point of the viewpointcoordinate system; and a display control module which displays a part ofthe screen coordinate system where the object is perspective transformedby the perspective transformation module on the display.
 2. The objectdisplay device according to claim 1, wherein each of the objects isassociated with a collision model having a unique size defined bythree-dimensional coordinates and determining whether the objects arecontacted with each other or overlapped with each other on the worldcoordinate system, and the object arranging module further multipliesthe unique size of the collision model associated with the object by thescaling multiplied to the unique size of the object by the scalingcomputing module, computes the size of the collision model associatedwith the object, and arranges the collision model in the computed sizein the world coordinate system.
 3. The object display device accordingto claim 1, wherein each of the objects is associated with a collisionmodel having a unique size defined by three-dimensional coordinates anddetermining whether the objects are contacted with each other oroverlapped with each other on the world coordinate system, the scalingcomputing module further computes scaling for the unique size of thecollision model by using a rule different from the rule that is appliedto the object associated with the collision model based on the viewpointdistance computed by the depth computing module, and the objectarranging module further multiplies the unique size of the collisionmodel by the scaling for the collision model computed by the scalingcomputing module, computes the size of the collision model, and arrangesthe collision model in the computed size in the world coordinate system.4. The object display device according to claim 1, wherein the objectdisplay device displays multiple objects, each having an attribute, andthe scaling computing module applies a different rule for everyattribute held by each of the multiple objects, and computes the scalingfor each of the multiple objects.
 5. The object display device accordingto claim 1, wherein the predetermined rule is a rule that the scalingcomputing module increases the scaling as the viewpoint distance isincreased in a range to a first distance where the viewpoint distance ispredetermined.
 6. The object display device according to claim 5,wherein the object display device displays multiple objects, each havingan attribute, and the scaling computing module applies a different rulefor every attribute held by each of the multiple objects, and computesthe scaling for each of the multiple objects.
 7. The object displaydevice according to claim 1, wherein the predetermined rule is a rulethat the scaling computing module decreases the scaling to zero as theviewpoint distance is increased in a range from a second distance to athird distance, and computes the scaling as zero in a range where theviewpoint distance is longer than the third distance, and the objectarranging module does not arrange the object for which the scaling iscomputed as zero by the scaling computing module in the world coordinatesystem.
 8. The object display device according to claim 7, wherein theobject display device displays multiple objects, each having anattribute, and the scaling computing module applies a different rule forthe attribute held by each of the multiple objects, and computes thescaling for each of the multiple objects.
 9. An object display methodfor an object display device which transforms an object that is arrangedin a world coordinate system and has a unique size defined bythree-dimensional coordinates to a viewpoint coordinate system whereviewpoint coordinate defined by the world coordinate system are anorigin point and a direction of a line of sight from the viewpointcoordinate is a z-axis, perspective transforms the transformed object toa screen coordinate system being a plane perpendicular to the z-axis ofthe viewpoint coordinate system relative to the origin point of theviewpoint coordinate system, and displays a part of the screencoordinate system where the object has been perspective transformed on adisplay, wherein the object display device implements the steps of:computing a viewpoint distance that is a distance from the viewpointcoordinate to the object, or a distance from the viewpoint coordinate tothe object in the direction of a line of sight in the world coordinatesystem; using a predetermined rule to compute scaling for a unique sizeof the object based on the computed viewpoint distance; multiplying theunique size of the object by the computed scaling to compute the size ofthe object and arranging the object in the computed size in the worldcoordinate system; transforming the object arranged in the worldcoordinate system to the viewpoint coordinate system; perspectivetransforming the transformed object to a screen coordinate systemrelative to the origin point of the viewpoint coordinate system; anddisplaying a part of the screen coordinate system where the object isperspective transformed on the display.
 10. A storage medium readable byan object display device, the storage medium storing a program whichcontrols the object display device which transforms an object that isarranged in a world coordinate system and has a unique size defined bythree-dimensional coordinates to a viewpoint coordinate system whereviewpoint coordinate defined by the world coordinate system are anorigin point and a direction of a line of sight from the viewpointcoordinate is a z-axis, perspective transforms the transformed object toa screen coordinate system being a plane perpendicular to the z-axis ofthe viewpoint coordinate system relative to the origin point of theviewpoint coordinate system, and displays a part of the screencoordinate system where the object has been perspective transformed on adisplay, wherein the object display device implements the steps of:computing a viewpoint distance that is a distance from the viewpointcoordinate to the object, or a distance from the viewpoint coordinate tothe object in the direction of a line of sight in the world coordinatesystem; using a predetermined rule to compute scaling for a unique sizeof the object based on the computed viewpoint distance; multiplying theunique size of the object by the computed scaling to compute the size ofthe object and arranging the object in the computed size in the worldcoordinate system; transforming the object arranged in the worldcoordinate system to the viewpoint coordinate system; perspectivetransforming the transformed object to a screen coordinate systemrelative to the origin point of the viewpoint coordinate system; anddisplaying a part of the screen coordinate system where the object isperspective transformed on the display.
 11. An entertainment apparatuswhich implements a game having a capability that changes coordinates ofan object arranged in a world coordinate system in accordance with amanipulation input by a player, perspective transforms the changedobject, and displays it on a display, the entertainment apparatuscomprising: an input module which accepts a manipulation from theplayer; an object control module which changes the coordinates of theobject in the world coordinate system in accordance with themanipulation from the player accepted by the input module; a viewcomputing module which computes viewpoint coordinate in the worldcoordinate system and a direction of a line of sight from the viewpointcoordinate in accordance with the manipulation from the player acceptedby the input module; a model data storing module which stores a uniquesize defined by three-dimensional coordinates for every object; and anobject display module which transforms an object with a unique size tobe arranged in the world coordinate system to a viewpoint coordinatesystem where the viewpoint coordinate computed by the view computingmodule are an origin point and the direction of a line of sight computedby the view computing module is a z-axis, perspective transforms thetransformed object to a screen coordinate system being a planeperpendicular to the z-axis of the viewpoint coordinate system relativeto the origin point of the viewpoint coordinate system, and displays apart of the screen coordinate system where the object has beenperspective transformed on a display, wherein the object display moduleincludes: a depth computing module which computes a viewpoint distancethat is a distance from the viewpoint coordinate to the object, or adistance from the viewpoint coordinate to the object in the direction ofa line of sight in the world coordinate system; a scaling computingmodule which uses a predetermined rule to compute scaling for a uniquesize of the object based on the viewpoint distance computed by the depthcomputing module; an object arranging module which multiplies the uniquesize of the object by the scaling computed by the scaling computingmodule to compute the size of the object and arranges the object in thecomputed size in the world coordinate system; a view transforming modulewhich transforms the object arranged in the world coordinate system bythe object arranging module to the viewpoint coordinate system; aperspective transformation module which perspective transforms theobject transformed by the view transforming module to a screencoordinate system relative to the origin point of the viewpointcoordinate system; and a display control module which displays a part ofthe screen coordinate system where the object is perspective transformedby the perspective transformation module on the display.